module.exports = {
    devServer: {
        // 自动打开页面
        open: true,
        // 自定义端口号，在本项目最低端口号8000，最高65535
        port: 8080

    },
    chainWebpack: config => {
        // 发布模式
        config.when(process.env.NODE_ENV === 'production', config => {
            config
                .entry('app')
                .clear()
                .add('./src/main-prod.js')

            // 这里纪录的第三方包就不会被打包进入口文件，导致文件过大了
            // 这些包都将用script标签引入
            config.set('externals', {
                vue: 'Vue',
                'vue-router': 'VueRouter',
                axios: 'axios',
                lodash: '_',
                echarts: 'echarts',
                nprogress: 'NProgress',
                'vue-quill-editor': 'VueQuillEditor'
            })

            config.plugin('html').tap(args => {
                args[0].title = 'production'
                return args
            })

        })

        // 开发模式
        config.when(process.env.NODE_ENV === 'development', config => {
            config
                .entry('app')
                .clear()
                .add('./src/main-dev.js')


            config.plugin('html').tap(args => {
                args[0].title = 'development'
                return args
            })

        })
    }

}